import { util } from '../../../../utils/util'
let app = getApp();
Page({
  data:{
    reject_hide:0,
    rejectReason: '',
    rejectType:'',
    input_Boolean:true,
    grade_name: '--请选择--',
    grades: [{id:21,value:'信息不符，给予退回'}, {id:22,value:'信息不符评价项，给予退回'}, {id:23,value:'图片信息不清晰，请重新提交'},{id:24,value:'资料不全，给予退回'},{id:25,value:'其他'} ],
    dealType: '',   //处理类型，（1确认，2驳回）
    //实例id
    instanceId :'',
    dealStatus:0, //教师进来时已处理不显示按钮0   未处理显示1
    from_sxdt_type : 1,

    hide : '0',    //点击修改后变化
    Role:'',
    activityType:'',        //活动类型
    activityTypeString:'',  //互动类型对应的中文
    instanceType:'',        //实例类型
    instanceTypeString:'',  //实例类型对应的中文
    status:'',              //当前实例状态
    statusString:'',        //状态对应的中文
    remark:'',              //拒绝原因
    imgNubmer:9,  //图片数量
    zs_assessType:'',
    itemName:'',
    itemContent:'',
    assessType:'',
    //图片数组
    files:[],
    sg_gradeArr:[
        {css:'',id:'1',value:'优秀'},{css:'',id:'2',value:'良好'}
    ],
  },
  onLoad(query) {
    let _this=this;
    // 页面加载
    console.info(`Page onLoad with query: ${JSON.stringify(query)}`+app.Role);
    this.setData({
      instanceId: query.instanceId,
      Role:app.Role,
      assessType:'',
        //图片数组
      files:[],
       sg_gradeArr:[
        {css:'',id:'1',value:'优秀'},{css:'',id:'2',value:'良好'}
    ],
    hide : '0',    //初始化显示状态防止被缓存出现bug的情况
    });

    //获取写实记录详情

    APPub.getDetail(query.instanceId).
    then(function(res) {
      var data = JSON.parse(res.data);
            _this.setData({
              activityType:res.activityType,
              activityTypeString:res.activityTypeString,
              instanceType:res.instanceType,
              instanceTypeString:res.instanceTypeString,
              status:res.status,
              statusString:res.statusString,
              //-------
              files:data.files,
              assessType:data.accessType,
              itemName:data.itemName,
              itemContent:data.itemContent,
            })
    })
  },
  //教师处理写实
  dealRecord(rejectType,rejectReason){
    console.log('实例id：'+this.data.instanceId+'处理类型：'+this.data.dealType+'驳回类型为：'+rejectType+'驳回类型选择了其他时原因为：'+rejectReason)
    let _this=this;

     var data = {
       instanceId: _this.data.instanceId,
       dealType: _this.data.dealType,
       rejectType:rejectType,
       rejectReason:rejectReason,
    };
    util.dealRecord(data)
    .then(function(res){
      if(res==1){
        wx.setStorageSync('howmany',1)
        wx.showToast({
           title: '处理成功',
           icon: 'success',
           duration: 2000,
           success() {
               wx.navigateBack({
                 delta: 1
               })
             },
         });
      }else{
        util.showError(JSON.stringify(res))
      }
    });
  },
  // 点击确认
  teacherConfirm(){
    let _this=this;
    wx.showModal({
    title: '确认通过',
    content: '请确认已审核学生的写实记录',
    confirmText: '确定',
    cancelText: '取消',
    success({ confirm }) {
      if(confirm){
        console.log('确认')
        _this.setData({
          dealType:'1',
    })
        _this.dealRecord()
      }else{
        console.log('取消')
      }
    },
    fail() {
      console.log('fail');
    },
    complete() {
      console.log('complete');
    },
  });
  },

  // 点击驳回
  teacherReject(){
    this.setData({
      grade_name: '--请选择--',
      reject_hide: 1,
    })
  },

  // 点击驳回后点击取消
  cancel(){
    this.setData({
      reject_hide: 0,select: false,input_Boolean: true,
    })
  },

  // 点击驳回后点击确定
  determine(){
    let _this=this;
    let name=_this.data.grade_name;
    
    if(name!='--请选择--'){
      if(name=='其他'){
        if(_this.data.rejectReason==''){
          util.showError('驳回失败,请输入原因')
        }else{
          wx.showModal({
            title: '确认驳回',
            content: '您确定驳回该学生的写实记录吗？',
            confirmText: '确定',
            cancelText: '取消',
            success({ confirm }) {
              if(confirm){
                _this.setData({
                  reject_hide: 0,select: false,input_Boolean: true,
                  dealType:'2',
                })
                _this.dealRecord(_this.data.rejectType,_this.data.rejectReason)
              }else{
                console.log('取消')
              }  
            },
          }); 
        }
      }else{
        wx.showModal({
          title: '确认驳回',
          content: '您确定驳回该学生的写实记录吗？',
          confirmText: '确定',
          cancelText: '取消',
          success({ confirm }) {
            if(confirm){
              _this.setData({
                reject_hide: 0,select: false,input_Boolean: true,
                dealType:'2',
              })
              _this.dealRecord(_this.data.rejectType)
            }else{
              console.log('取消')
            }
          },
        });
      }
    }else{
      util.showError('驳回失败，请选择驳回原因！')
      console.log(name);
    }
  },

  // 点击下拉列表
  bindShowMsg() {
    this.setData({
      select: !this.data.select
    })
  },

// 选择元素
mySelect(e) {
  console.log(e)
  var id = e.currentTarget.dataset.item.id;
  var value=e.currentTarget.dataset.item.value;
  if(id==25){
    this.setData({
      rejectReason: '',
      input_Boolean: false
    })
  }else{
    this.setData({
      input_Boolean: true
    })
  }
  this.setData({
    grade_name: value,
    rejectType: id,
    select: false
  })
},

// 获取input中的值
reasonKey(e) {
  this.setData({
    rejectReason: e.detail.value,
  });
},

  // 点击修改
  on_modify(){
    this.setData({
      hide:'1'
    })
  },

  sgon_gradesg(e){
      var me = this;
      console.log(e.currentTarget.dataset.index)
      let index=e.currentTarget.dataset.index;
      let arr=me.data.sg_gradeArr;
      let i=0;
      for(;i<arr.length;i++){arr[i].css=''}
      arr[index].css = ' active';
      me.data.assessType=arr[index].id;
      me.setData( me.data);
    },

  /**
   * 写实材料上传图片方法
   */
  xsuploads: function () {
    let that = this;
    wx.chooseImage({
      count: 9-that.data.files.length, // 默认9
     //钉钉中死都不能加这个，巨坑 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: res => {
        /**
         * 上传完成后把文件上传到正式服务器  9-that.data.files.length
         */
         var files = that.data.files;
          //上传多张文件
          for(var i=0;i<res.tempFilePaths.length;i++){
               util.uploadFile(res.tempFilePaths[i]).
                then(function(res){
                files.push(
                    res
                  ); 
                that.setData(that.data);
                });
          }
      },
      fail:()=>{
        wx.showToast({
          title: 'fail', // 文字内容
        });
      }
    })
  },

  /**
   * 写实预览图片方法  
   */
  doubleClick: function (e) {
    let index = e.target.dataset.index;
    let that = this;
    console.log(that.data.files[index]);
    console.log(that.data.files);
    wx.previewImage({
      current: that.data.files[index],
      urls: that.data.files,
      //这根本就不走
      success: function (res) {
        //console.log(res);
      },
      //也根本不走
      fail: function () {
        //console.log('fail')
      }
    })
  },
  /**
   * 长按删除图片
   */
  deleteImage: function (e) {
    var that = this;
    var files = that.data.files;
    var index = e.currentTarget.dataset.index;//获取当前长按图片下标
    wx.showModal({
      title: '提示',
      content: '确定要删除此图片吗？',
      success: function (res) {
        if (res.confirm) {
          console.log('点击确定了');
          files.splice(index, 1);
        } else if (res.cancel) {
          console.log('点击取消了');
          return false;
        }
        that.setData({
          files
        });
      }
    })
  },

  onReady() {
    // 页面加载完成
  },
  onShow() {
    // 页面显示
  },
  onHide() {
    // 页面隐藏
  },
  onUnload() {
    // 页面被关闭
  },
  onTitleClick() {
    // 标题被点击
  },
  onPullDownRefresh() {
    // 页面被下拉
  },
  onReachBottom() {
    // 页面被拉到底部
  },
  onShareAppMessage() {
    // 返回自定义分享信息
    return {
      title: 'My App',
      desc: 'My App description',
      path: 'pages/index/index',
    };
  },
});
